Robots are fully or partially autonomous machines for assisting or replacing humans in various tasks. As robot complexity increases through improved hardware and software, robots are able to perform more and more tasks with or in place of humans.
One of the biggest robotic challenges is enabling robots to navigate within a confined area. Sensory arrays including cameras, accelerometers, global positioning system (GPS) receives, depth of field imagery, lasers, and other sensors allow robots to detect. In order to navigate, a robot must be able to translate what it detects into a location and plot a path from its location to an intended destination through available routes while avoiding various obstacles along the path.
Robots can be programmed with maps to facilitate such navigation. The maps identify available routes within a specific area. Using the sensory array and various identifiers positioned throughout the mapped area, the robot can determine its location in relation to a map and then plot a desired course to a destination while avoiding obstacles en route.
Certain tasks require robots to have greater navigational granularity. Item retrieval is one such task. Inventory retrieval robots retrieve specific items from various shelves positioned throughout a warehouse or distribution site. These robots must not only navigate to a specific shelf within the warehouse where a desired item is positioned, but must also be able to navigate the shelf in order to locate the desired item's specific location within the shelf so that the item can be properly retrieved. The difficulty of this robotic task increases when the shelf contains many different items of different sizes and shapes, the shelf is at least two dimensional comprising different rows at different heights onto which the different items are placed, and the robot can be tasked to retrieve any of the arbitrary sized and shaped items therefrom.
A simplistic approach involves statically programming the robot with item locations and item shapes and sizes. Robots programmed with static item locations know exactly where to find each individual item on a shelf. Thus, the robot uses a map to first navigate to the shelf containing the desired item. Once the robot reaches a desired shelf, it then moves to the exact item location about the shelf via the programmed static item location. The robot then uses the statically programmed item shape and size to determine the best way to retrieve the item.
This simplistic approach has several shortcomings. There is extensive administrative overhead. Each item location must be individually programmed along with the size and shape of the item. Once programmed, the item locations must remain fixed and unchanged. Any item placement change requires robot reprogramming. Moreover, the changes cannot be made while the robots are operational. Otherwise, the robots could retrieve the wrong item. This makes it difficult to change or replace inventory as new items are introduced or existing items are phased out. Having fixed locations also makes it difficult to optimize the warehouse. The robots cannot dynamically shift popular items closer to one another or closer to the warehouse packaging stations or shipping ports to reduce the time it takes for the robots to retrieve such popular items, because the robots expect to find the items at a fixed location. Another shortcoming for robots navigating based on static item locations, sizes, and shapes is the inability of the robots to account for item position deviation. As one robot retrieves one item, the position of items adjacent to or behind the retrieved item may shift. Consequently, when another robot attempts to retrieve one of the adjacent or behind items, it may be unable to retrieve the item or it may retrieve the item off-balance increasing the possibility that the item will be dropped during retrieval.
Accordingly, there is a need for new and improved robot navigation and mapping. There is a need for navigation that is not based on statically programmed locations, sizes, and shapes, but rather one that allows for the realities of an ever-changing distribution site. There is further a need to ensure that any such navigation is performed continuously and without delays associated with stopping and analyzing each and every item that comes before a robot. To fully move away from static mappings, there is further a need for the robots to be able to identify items in the distribution site, map their locations, and notify one another of the positions.